package com.example.administrator.appstpremvpdemo.contract;

import android.view.View;

import com.example.administrator.appstpremvpdemo.model.BaseModel;
import com.example.administrator.appstpremvpdemo.presenter.BasePresenter;
import com.example.administrator.appstpremvpdemo.view.BaseView;

import java.util.List;

/**
 * @Author Administrator
 * @Date 2017/12/25
 * @description
 * @function
 */

public interface HomefragentContract {

    interface View<T> extends BaseView<Presenter<T>> {

        void showDataLoading();

        void onLoadSuccess(List<T> list);

        void showDataLoaderror();

        void showNetError();

    }

    interface Presenter<T> extends BasePresenter {

        void showList(List<T> list);

        void pullLoadMore();

    }

    interface Model extends BaseModel {

        void requestData();

        void requestPullLoadMoreData();
    }
}
